WebDriver/RemoteProtocol/WebDriver BiDi

From MozillaWiki
Jump to: navigation, search

WebDriver BiDi is an extension of the WebDriver specification that offers a bidirectional communication between a webdriver compatible client and a remote end like Firefox. That means that beside sending commands to the browser and receiving responses, it will be also possible to register for certain events (e.g page load, network interception).

Product Backlog Status

Milestones

WebDriver BiDi Milestone 14 - In Development

Goal:

Details: Milestone 14 status

WebDriver BiDi Milestone 13 - Completed November 17th

Goal: During this milestone, we will focus on expanding the scenarios where users can successfully run tests in Firefox using BiDi-based tools. Following the launch of official Puppeteer support for BiDi, we will address critical issues uncovered by users and work to close the feature gap with Chrome.

We will also tackle prerequisites for other tools, including Cypress, which are transitioning from our deprecated CDP backend to BiDi. Additionally, Playwright has developed a BiDi prototype and we'll focus on getting their testsuite to complete, so we can identify and prioritize the work required for full support.

Details: Milestone 13 status

WebDriver BiDi Milestone 12 - Completed September 29th

Goal: During this milestone, we will announce official Puppeteer support based on the WebDriver BiDi protocol for Firefox 129. This announcement will coincide with the release of Firefox 129 in August. We anticipate increased collaboration with developers and tool makers utilizing Puppeteer, and we will encourage tools using non-standard CDP to transition to the WebDriver BiDi standard protocol.

To assist our platform teams, we will improve the existing event dispatching system in Marionette and WebDriver BiDi to better simulate user interactions, starting with scrolling functionalities for both mouse wheel and touch input sources. Additionally, we will continue enhancing our network interception features in WebDriver BiDi to support more robust navigation testing scenarios.

Details: Milestone 12 status

WebDriver BiDi Milestone 11 - Completed June 30th

Goal: Our primary focus for Milestone 11 is to clear all blockers and fully support Puppeteer. By the end of Milestone 10, we've achieved 75% compliance with the Puppeteer test suite, aiming to reach as close to 100% as possible. Additionally, we're phasing out our partial Chrome DevTools Protocol (CDP) implementation, urging users to switch to WebDriver BiDi.

Details: Milestone 11 status

WebDriver BiDi Milestone 10 - Completed March 31st, 2024

Goal: Milestone 10's foremost focus is resolving the issues hindering the achievement of full Puppeteer support. In our current "experimental" phase, we aim to gather feedback from Puppeteer users and streamline the multi-browser testing process to minimize developer effort.

Details: Milestone 10 status

WebDriver BiDi Milestone 9 - Completed December 24th, 2023

Goal: Milestone 9 maintains its focus on aligning and integrating essential functionalities from Puppeteer and Selenium. Although we managed to implement most of these high-priority features in Milestone 8, some pending APIs still need to be integrated before Puppeteer can formally announce WebDriver BiDi support for Firefox. In our dedication to staying synchronized with Selenium, we're also addressing their top priorities. As a result, this milestone is dedicated to empowering clients to introduce new features and products to their users through WebDriver BiDi.

Details: Milestone 9 status

WebDriver BiDi Milestone 8 - Completed October 01st, 2023

Goal: Milestone 8 is centered around matching and integrating crucial features from Puppeteer and Selenium. This milestone is all about enabling those clients to ship features and products using WebDriver BiDi to their users. By doing so, we hope to encourage a continuous flow of valuable user feedback and collect success narratives. This feedback is crucial for the ongoing improvement and evolution of the WebDriver BiDi project, enabling us to better align with the needs and expectations of our user base.

Details: Milestone 8 status

WebDriver BiDi Milestone 7 - Completed July 02nd, 2023

Goal: This milestone aims to expand the set of APIs supported for creating basic automated tests using WebDriver BiDi. The newly added APIs will include support for HTTP authentication, improved user interaction with pages and prompts. Additionally, efforts will be made to maintain our infrastructure for the existing WebDriver based test suites.

Details: Milestone 7 status

WebDriver BiDi Milestone 6 - Completed April 9th, 2023

Goal: Support a minimal set of APIs for creating basic automated tests using WebDriver BiDi.

Details: Milestone 6 status

WebDriver BiDi Milestone 5 - Completed January 15th, 2023

Goal: Support required network and page events for HAR file generation.

Details: Milestone 5 status

WebDriver BiDi Milestone 4 - Completed September 20th, 2022

Goal: Support evaluating remote scripts, and passing javascript data between the browser and the client and vice-versa.

Details: Milestone 4 status

WebDriver BiDi Milestone 3 - Completed May 15th, 2022

Goal: Basic support for the browsingContext.navigate command, and collaboration with the Selenium project to get log.entryAdded support added.

Details: Milestone 3 status

WebDriver BiDi Milestone 2 - Completed December 19th, 2021

Goal: Extend the current WebDriver BiDi code base to fully support log.entryAdded events and allow clients to unsubscribe from this event.

Details: Milestone 2 status

WebDriver BiDi Milestone 1 - Completed September 10th, 2021

Goal: Adapt the existing Remote Agent code base, and make it ready for building support for WebDriver BiDi. Introduce support for basic logging events (plain string message).

Details: Milestone 1 status